package com.yw.atp.web;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CharacterEncodeFilter implements Filter {

	protected String encoding = "utf-8";
	protected FilterConfig filterConfig = null;

	public CharacterEncodeFilter() {
		super();
		
	}
	public void init(FilterConfig filterConfig) throws ServletException {
		
		this.filterConfig = filterConfig;
		String coding = filterConfig.getInitParameter("encoding");
		if(coding != null && !coding.equals("")){
			this.encoding = coding;
		}
	}
	public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException, ServletException {
		HttpServletRequest req = (HttpServletRequest)request;
		HttpServletResponse resp = (HttpServletResponse)response;
		request.setCharacterEncoding(encoding);
		chain.doFilter(req, resp);

	}

	public void destroy() {
		this.encoding = null;
		this.filterConfig = null;
	}
	
	protected String selectEncoding(ServletRequest request) {
		  return (this.encoding);
	}
}
